<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

    /**
     *
     * 汉字转换拼音函数
     *
     * @param $str string 需要转换的字符串
     * @param $split__str 两个汉语拼音的连接符，默认为''，即没有连接符
     * @param $ishead bool 是否只显示第一个字母
     * @param $ucfirst bool 是否第一个字母大写
     * @return String 把汉字转化为拼音的字符串
     */
	if(!function_exists('getPinYin')){
		function getPinyin($str,$split__str = '',$ishead = false,$ucfirst = false){
			$pinyins = array();
			$restr = '';
			//$split__str = '';
			$str = trim(iconv('UTF-8','GB2312',$str));
			$slen = strlen($str);
			if($slen<2){
				return $str;
			}
			if(count($pinyins)==0){
				$fp = fopen(APPPATH.'/resources/pinyin.dat','r');
				while(!feof($fp)){
					$line = trim(fgets($fp));
					$pinyins[$line[0].$line[1]] = substr($line,3,strlen($line)-3);
				}
				fclose($fp);
			}
			for($i=0;$i<$slen;$i++){
				if(ord($str[$i])>0x80){
					$c = $str[$i].$str[$i+1];
					$i++;
					if(isset($pinyins[$c])){
						if( ! $ishead AND $ucfirst){
							$restr .= $split__str.ucfirst($pinyins[$c]);
						}elseif( ! $ishead AND ! $ucfirst){
							$restr .= $split__str.$pinyins[$c];
						}else{
							if(!$ucfirst){
								$restr .= $split__str.$pinyins[$c][0];
							}else{
								$restr .= $split__str.ucfirst($pinyins[$c][0]);
							}
						}
					}else{
						$restr .= $split__str;
					}
				}else if(preg_match("[a-z0-9]",$str[$i])){
					$restr .= $split__str.$str[$i];
				}else{
					$restr .= $split__str.$str[$i];
				}
			}
			if($restr[0] == $split__str){
				return substr($restr,1);
			}else{
				return $restr;
			}
		}
    }

/* End of file pinyin_helper.php */
/* Location ./system/helpers/pinyin_helper.php */
